
/**
 * 打开窗口
 * @param  id 键值（确定唯一KEY）
 * id规则： id【UUID|不唯一】可添加多个(子面板)
 *         id【唯一】       能添加1个(子面板)
 * @param url 请求地址
 * @param iconCls 请求图标
 * @param closable 面板是否可关闭
 */
function layoutSub(id, url, iconCls, closable, title) {
    //获取对象
    var jq = top.jQuery;
    //获取tab对象
    var tab = jq("#MainTab").tabs('getTab', id);
    //判断tab
    if(null != tab){
        //获取tabIndex
        var tabIndex  = jq("#MainTab").tabs('getTabIndex', tab);
        //判断面板
        if (jq("#MainTab").tabs('exists', tabIndex)){
            //选中面板
            jq("#MainTab").tabs('select', tabIndex);
            //更新面板
            updateSubFrame(title, url, iconCls);
        }
    }else{
        //添加面板
        jq("#MainTab").tabs('add',{
            id: id,
            title: title ? title : "",
            iconCls: iconCls,
            content: '<iframe scrolling = "yes" frameborder = "0" width = "100%" height = "100%" src=' + url + "&iconCls=" + iconCls+ ' ></iframe>',
            closable: closable
        });
    }
    //注册事件绑定
    tabSubColse();

}


/**
 * 更新subTab标签对象
 */
function updateSubFrame(title, url, iconCls){
    //获取对象
    var jq = top.jQuery;
    var currTab = jq('#MainTab').tabs('getSelected');
    jq('#MainTab').tabs('update',{
        tab:currTab,
        options:{
            content: reloadSubFrame(title, url, iconCls),
            closable: true,
            selected: true
        }
    })
}



/**
 * 刷新subTab标签对象
 */
function refreshSubFrame(){
    //获取对象
    var jq = top.jQuery;
    var currTab = jq('#MainTab').tabs('getSelected');
    var title = jq('#main_menu').data("currtab");
    var iconCls = "";
    var url = jq(currTab.panel('options').content).attr('src');
    jq('#MainTab').tabs('update',{
        tab:currTab,
        options:{
            content: reloadSubFrame(title, url, iconCls),
            closable: true,
            selected: true
        }
    })
}

/***
 * 刷新Tab标签对象
 * @param {Object} title
 * @param {Object} url
 * @param {Object} iconCls
 * @return {TypeName}
 * @autour 谢泽鹏
 */
function reloadSubFrame(title, url, iconCls){
    if(false){
        return "<iframe scrolling = 'no' frameborder = '0'  style='width:100%;height:100%;' src = '" + url + "&iconCls=" + iconCls +  "'></iframe>";
    }else{
        return "<iframe scrolling = 'atuo' frameborder = '0' style='width:100%;height:100%;'  src = '" + url + "&iconCls=" + iconCls + "'></iframe>";
    }
}


/***
 * 绑定右键菜单
 * @memberOf {TypeName}
 * @return {TypeName}
 * @autour 谢泽鹏
 */
function tabSubColse(){
    var jq = top.jQuery;
    jq(".tabs-inner").bind('contextmenu',function(e){
        jq('#main_menu').menu('show', {
            left: e.pageX,
            top: e.pageY
        });
        var subtitle =jq(this).children(".tabs-closable").text();
        jq('#main_menu').data("currtab", subtitle);
        jq('#MainTab').tabs('select', subtitle);
        return false;
    });
}


/**
 * 关闭所有面板
 */
function closeSubAll() {
    var jq = top.jQuery;
    jq(".tabs li").each(function(index, obj) {
        var tab = $(".tabs-closable", this).text();
        if('首页' != tab){
            jq(".easyui-tabs").tabs('close', tab);
        }
    });
}

/***
 * Tab右键菜单绑定事件
 * @return {TypeName}
 * @autour 谢泽鹏
 */
function tabSubEvent(){
    var jq = top.jQuery;
    //刷新标签页
    jq('#tab_reload').click(function(){
        refreshSubFrame();
    });

    //关闭标签页
    jq('#tab_close').click(function(){
        var tab = jq('#main_menu').data("currtab");
        jq('#MainTab').tabs('close', tab);
    });

    //关闭全部标签页
    jq('#tab_closeall').click(function(){
        closeSubAll();
    });

    //除此之外全部关闭
    jq('#tab_closeother').click(function(){
        jq('#tab_closeright').click();
        jq('#tab_closeleft').click();
    });

    //当前页右侧全部关闭
    jq('#tab_closeright').click(function(){
        var nextall = jq('.tabs-selected').nextAll();
        if(0 == nextall.length){
            return false;
        }
        nextall.each(function(i,n){
            var t = jq('a:eq(0) span',jq(n)).text();
            jq('#MainTab').tabs('close',t);
        });
        return false;
    });

    //当前页左侧全部关闭
    jq('#tab_closeleft').click(function(){
        var prevall = jq('.tabs-selected').prevAll();
        prevall.each(function(i,n){
            var t = jq('a:eq(0) span',jq(n)).text();
            if(t != '首页'){
                jq('#MainTab').tabs('close', t);
            }
        });
        return false;
    });
}

$(document).ready(function(){

    //加载右键菜单
    tabSubEvent();

});

